<?php

return [
    // host
    'host' => '0.0.0.0',
    // 端口
    'port' => 9502,
    // 异步任务进程端口
    'task_port' => 12345,
    // 是否开启共享内存
    'is_global' => false,
    // 共享内存进程端口
    'global_port' => 2207,
    // SSL协议配置
    'ssl' => [
        // 证书地址
        'local_cert' => '',
        // 秘钥地址
        'local_pk' => '',
        // 证书验证
        'verify_peer' => false,
        // 如果是自签名证书需要开启此选项
        'allow_self_signed' => true,
    ],
    // 启动的 Worker 进程数
    'count' => 1,
    // 是否开启异步服务 异步服务只支持Worker进程数为1时才能启动 异步数据存储到redis key:task_result 等主进程完成后才可以获取
    'is_task' => false,
    // 启动的 Task 进程数
    'task_count' => \houze\System::cpu_num(),
    // 设置当前Worker实例的协议类
    'protocol' => 'Workerman\\Protocols\\Http',
    // 设置当前Worker实例所使用的传输层协议，目前只支持3种(tcp、udp、ssl)
    'transport' => 'tcp',
    // 设置当前worker是否开启监听端口复用(socket的SO_REUSEPORT选项)
    'reuse_port' => true,
    // 设置当前连接的应用层发送缓冲区大小(字节)
    'max_send_buffer_size' => 102400,
    // 设置所有连接的默认应用层发送缓冲区大小
    'default_max_send_buffer_size' => 2*1024*1024,
    // 设置每个连接接收的数据包最大字节
    'default_max_package_size' => 1024000,
    // 是否开启守护进程模式
    'daemonize' => false,
    // 设置当前Worker实例是否可以reload，即收到reload信号后是否退出重启
    'reload' => true,
    // 设置最大数据包尺寸，单位为字节(该参数关系HTTP文件上传的最大文件大小)
    'package_max_length' => 1024*1024*2,
    // 静态文件根目录 前缀使用ROOT_PATH常量衔接，开始结尾都不需要带/符号
    'document_root' => 'public',
    // 是否启动分包，如关闭则走Server服务事件
    'is_onMessage' => true,

    // +-----------------------------
    // | Workerman 进程名称
    // +-----------------------------

    'name'  => 'houze service process', 

    // +-----------------------------
    // | Workerman 服务的服务环境变量存储路径
    // +-----------------------------
    // 记录worker的进程id
    'worker_pid_file' => BOX_PATH.'env'.DS.'worker.pid',
    // 记录路由的文件
    'route_file' => BOX_PATH.'env'.DS.'route_file.env', 
    // 记录日志的文件
    'log_file' => LOG_PATH.'workerman.log', 

    // +-----------------------------
    // | WebSocket 服务的独立配置
    // +-----------------------------
    // 是否启用心跳检测
    'heartbeat_is_set' => true,
    // 表示每隔多久轮循一次(S)
    'heartbeat_check_interval' => 60,
    // 最大允许的空闲时间(S)
    'heartbeat_idle_time' => 120,
    // AES 加密类型
    'aes_type' => 'AES-128-ECB',
    // AES 加密KEY
    'aes_key' => '',
    // AES 加密向量
    'aes_iv' => '',
    
    // +-----------------------------
    // | onRequst 跨域相关
    // +-----------------------------
    
    // 接口跨域设置
    'origin' => '*',
    // 接口数据请求类型
    'type' => '',
    // 接口跨域允许请求的类型
    'methods' => 'POST,GET,OPTIONS,DELETE',
    // 接口是否允许发送 cookies
    'credentials' => 'true',
    // 接口允许自定义请求头的字段
    'headers' => 'Content-Type,Content-Length,Accept-Encoding,X-Requested-with,Origin,api_key,authorization,accept-language',

    // +-----------------------------
    // | onRequst HTTP请求日志监控相关
    // +-----------------------------
    
    // 是否开启监控
    'http_monitor_status' => false,
    // 控制台账号
    'http_monitor_username' => 'houze',
    // 控制台密码
    'http_monitor_password' => '123456',
    // 监控文件存放根地址-需要/结尾
    'http_monitor_dir_root' => LOG_PATH.'http_monitor'.DS,
];